﻿using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

namespace YABE.Models.Json
{
	public class Post
	{
		#region private
		private int _PostID;

		private string _Body;

		private System.DateTime _Created;

		private string _Description;

		private string _Title;

		private string _Categories;

		private string _Author;

		private bool _IsPublic;

		private bool _Syndicated;

		private bool _ShowOnFrontPage;

		private bool _AllowComments;
		
		private string _Url;
		
		private string _DeleteUrl;
		
		private string _EditUrl;
		#endregion

		public int PostID
		{
			get
			{
				return this._PostID;
			}
			set
			{
				this._PostID = value;
			}
		}

		public string Body
		{
			get
			{
				return this._Body;
			}
			set
			{
				this._Body = value;
			}
		}

		public System.DateTime Created
		{
			get
			{
				return this._Created;
			}
			set
			{
				this._Created = value;
			}
		}

		public string Description
		{
			get
			{
				return this._Description;
			}
			set
			{
				this._Description = value;
			}
		}

		public string Title
		{
			get
			{
				return this._Title;
			}
			set
			{
				this._Title = value;
			}
		}

		public string Categories
		{
			get
			{
				return this._Categories;
			}
			set
			{
				this._Categories = value;
			}
		}

		public string Author
		{
			get
			{
				return this._Author;
			}
			set
			{
				this._Author = value;
			}
		}

		public bool IsPublic
		{
			get
			{
				return this._IsPublic;
			}
			set
			{
				this._IsPublic = value;
			}
		}

		public bool Syndicated
		{
			get
			{
				return this._Syndicated;
			}
			set
			{
				this._Syndicated = value;
			}
		}

		public bool ShowOnFrontPage
		{
			get
			{
				return this._ShowOnFrontPage;
			}
			set
			{
				this._ShowOnFrontPage = value;
			}
		}

		public bool AllowComments
		{
			get
			{
				return this._AllowComments;
			}
			set
			{
				this._AllowComments = value;
			}
		}

		public string Url
		{
			get
			{
				return this._Url;
			}
			set
			{
				this._Url = value;
			}
		}

		public string DeleteUrl
		{
			get
			{
				return this._DeleteUrl;
			}
			set
			{
				this._DeleteUrl = value;
			}
		}

		public string EditUrl
		{
			get
			{
				return this._EditUrl;
			}
			set
			{
				this._EditUrl = value;
			}
		}

		public Post(YABE.Models.Post post)
		{
			this.PostID = post.PostID;
			this.Body = post.Body;
			this.Created = post.Created;
			this.Description = post.Description;
			this.Title = post.Title;
			this.Categories = post.Categories;
			this.Author = post.Author;
			this.IsPublic = post.IsPublic;
			this.Syndicated = post.Syndicated;
			this.ShowOnFrontPage = post.ShowOnFrontPage;
			this.AllowComments = post.AllowComments;
		}

	}
}
